package com.evil.application.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 应用筛选项表
 *
 * @author liyang
 * @date 2022-08-08 00:00
 */
@Data
@TableName(value = "evil_application_filter_item")
public class ApplicationFilterItem implements Serializable {

    /**
     * id
     */
    @TableId(value = "filter_item_id", type = IdType.AUTO)
    private Long filterItemId;

    /**
     * 企业id
     */
    @TableField(value = "enterprise_id")
    private Long enterpriseId;

    /**
     * 筛选名称
     */
    @TableField(value = "filter_item_name")
    private String filterItemName;

    /**
     * 筛选组id
     */
    @TableField(value = "filter_group_id")
    private Long filterGroupId;

    /**
     * 默认值
     */
    @TableField(value = "default_value")
    private String defaultValue;

    /**
     * 条件配置
     */
    @TableField(value = "filter_condition")
    private String filterCondition;

    /**
     * 判断符号（0-等于，1-不等于，2-包含，3-不包含，4-属于，5-不属于）
     */
    @TableField(value = "judge_sign")
    private Integer judgeSign;

    /**
     * 默认值可用判断符号
     */
    @TableField(value = "judge_signs")
    private String judgeSigns;

    /**
     * 默认值下拉项
     */
    @TableField(value = "`options`")
    private String options;

    /**
     * 源筛选项id
     */
    @TableField(value = "source_item_id")
    private Long sourceItemId;

    /**
     * 是否已删除(0:否, 1:是)
     */
    @TableField(value = "is_deleted")
    private Integer isDeleted;

    /**
     * 创建人
     */
    @TableField(value = "creator_id")
    private Long creatorId;

    /**
     * 创建人名字
     */
    @TableField(value = "creator_name")
    private String creatorName;

    /**
     * 修改操作人
     */
    @TableField(value = "modifier_id")
    private Long modifierId;

    /**
     * 修改操作人名字
     */
    @TableField(value = "modifier_name")
    private String modifierName;

    /**
     * 创建时间
     */
    @TableField(value = "created")
    private Date created;

    /**
     * 更新时间
     */
    @TableField(value = "updated")
    private Date updated;

    @Serial
    private static final long serialVersionUID = 1L;

    public static final String COL_FILTER_ITEM_ID = "filter_item_id";

    public static final String COL_FILTER_ITEM_NAME = "filter_item_name";

    public static final String COL_FILTER_GROUP_ID = "filter_group_id";

    public static final String COL_DEFAULT_VALUE = "default_value";

    public static final String COL_FILTER_CONDITION = "filter_condition";

    public static final String COL_JUDGE_SIGN = "judge_sign";

    public static final String COL_JUDGE_SIGNS = "judge_signs";

    public static final String COL_OPTIONS = "options";

    public static final String COL_SOURCE_ITEM_ID = "source_item_id";

    public static final String COL_IS_DELETED = "is_deleted";

    public static final String COL_CREATOR_ID = "creator_id";

    public static final String COL_CREATOR_NAME = "creator_name";

    public static final String COL_MODIFIER_ID = "modifier_id";

    public static final String COL_MODIFIER_NAME = "modifier_name";

    public static final String COL_CREATED = "created";

    public static final String COL_UPDATED = "updated";
}